<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="/layui/css/layui.css" media="all">
    <script src="/layui/layui.js" charset="utf-8"></script>
</head>

<body>
<div class="layui-container">
    <div class="layui-row">
        <div class="layui-col-lg-offset3" layui-col-lg6>
            <div class="layui-form layuimini-form">
                <form class="layui-form" action="" lay-filter="userForm">
                    <div class="layui-form-item">
                        <label class="layui-form-label">学员姓名：</label>
                        <div class="layui-input-block">
                            <input type="text" name="name" required lay-verify="required" placeholder="请输入用户名"
                                   autocomplete="off" class="layui-input">
                        </div>
                    </div>
                    <input type="hidden" name="id" value="" class="layui-input">



                    <div class="layui-form-item">
                        <label class="layui-form-label">性别：</label>
                        <div class="layui-input-block">
                            <input type="radio" name="sex" value="男" title="男">
                            <input type="radio" name="sex" value="女" title="女" checked>
                        </div>
                    </div>

                    <div class="layui-form-item layui-form-text">
                        <label class="layui-form-label">生日：</label>
                        <div class="layui-input-block">
                            <input type="text" name="birthday" id="date" lay-verify="date" placeholder="yyyy-MM-dd"
                                   autocomplete="off" class="layui-input">
                        </div>
                    </div>

                    <div class="layui-form-item">
                        <label class="layui-form-label">联系方式：</label>
                        <div class="layui-input-block">
                            <input type="text" name="phone" required lay-verify="required" placeholder="请输入电话号码"
                                   autocomplete="off" class="layui-input">
                        </div>

                    </div>

                    <div class="layui-form-item">
                        <label class="layui-form-label">住址：</label>
                        <div class="layui-input-block">
                            <!-- <input type="text" name="address" required lay-verify="required" placeholder="请输入住址"
                                   autocomplete="off" class="layui-input"> -->
                        
                                   <select id="address" name="address" lay-verify="required">
                                    <option value="0">请选择...</option>
                                    <!-- <option value="1">中内科</option>
                                    <option value="2">内分泌科</option>
                                    <option value="3">外科</option>
                                    <option value="4">新生儿科</option>
                                    <option value="5">神经内科</option>
                                    <option value="6">呼吸内科</option>
                                    <option value="7">心血管内科</option>
                                    <option value="8">不孕不育科</option> -->
                                </select>
                         </div>

                    </div>

                    <div class="layui-form-item">
                        <label class="layui-form-label">兴趣爱好：</label>
                        <div class="layui-input-block">
                            <input type="text" name="hobby" required lay-verify="required" placeholder="请输入兴趣爱好"
                                   autocomplete="off" class="layui-input">
                        </div>

                    </div>


                    <div class="layui-form-item">
                        <label class="layui-form-label">靓照：</label>
                        <input type="hidden" name="pic" id="pic">
                        <div class="layui-input-block">
                            <button type="button" class="layui-btn" id="durl">
                                <i class="layui-icon">&#xe67c;</i>上传图片
                            </button>

                            <div class="layui-upload-list">
                                <img style="width: 100px" class="layui-upload-img" id="demo1">
                                <p id="demoText"></p>
                            </div>

                            <div style="width: 95px;">
                                <div class="layui-progress layui-progress-big" lay-showpercent="yes" lay-filter="demo">
                                    <div class="layui-progress-bar" lay-percent=""></div>
                                </div>
                            </div>

                        </div>

                    </div>



                    <div class="layui-form-item">
                        <div class="layui-input-block">
                            <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                            <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                        </div>
                    </div>
                </form>
            </div>

        </div>
    </div>
</div>



<script>
    //Demo
    layui.use(['form','upload','element'], function () {
        // 表单对象  form
        var form = layui.form
            //jquery 对象 $
            , $ = layui.jquery
            ,element = layui.element
            ,upload = layui.upload
            // 日期组件
            , laydate = layui.laydate;

        //日期   渲染上面 id 为 date 的 标签
        laydate.render({
            elem: '#date'
        });


        //动态加载下拉列表数据
             //打开页面 动态查询下拉列表数据
             $.ajax({
                url: 'http://localhost:8080/student/address',
                dataType: 'json',
                type: 'get',
                success: function (data) {
                    console.log(data);//下面会提到这个data是什么值
                    //使用循环遍历，给下拉列表赋值
                    $.each(data.data.address, function (index, value) {
                        console.log(value);
                        $('#address').append(new Option(value, value));// 下拉菜单里添加元素
                    });
                    layui.form.render("select");//重新渲染 固定写法
                  
                },
                async: false
            })




        // 从 localStorage 把数据取出来   并转成 js 对象
        //  JSON.parse("str")   把字符串转为 js 对象
        var data = JSON.parse(localStorage.getItem("student"));

        //给表单数据赋值
        form.val("userForm",{
            "name":data.name,
            "sex":data.sex,
            "id":data.id,
            "birthday":data.birthday,
            "phone":data.phone,
            "address":data.address,
            "hobby":data.hobby

        });

        // 图片回显
        $("#demo1").attr("src",data.pic);
        $("#pic").val(data.pic);


         //执行实例
         var uploadInst = upload.render({
            elem: '#durl' //绑定元素
            ,field:"file"
            ,url: 'http://localhost:8080/student/upload/' //上传接口
            ,before: function(obj){
                //预读本地文件示例，不支持ie8
                obj.preview(function(index, file, result){
                    $('#demo1').attr('src', result); //图片链接（base64）
                });

                element.progress('demo', '0%'); //进度条复位
                layer.msg('上传中', {icon: 16, time: 0});
            }
            ,done: function(res){
                //上传完毕回调
                if(res.code==200){
                    $("#demo1").attr("src",res.data.url);
                    $("#pic").val(res.data.url);  //把图片地址 写到隐藏域 上传的时候 传到后台
                }


                $('#demoText').html(''); //置空上传失败的状态

            }
            ,error: function(){
                //请求异常回调
                //演示失败状态，并实现重传
                var demoText = $('#demoText');
                demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                demoText.find('.demo-reload').on('click', function(){
                    uploadInst.upload();
                });

            }
            //进度条
            ,progress: function(n, elem, e){
                element.progress('demo', n + '%'); //可配合 layui 进度条元素使用
                if(n == 100){
                    layer.msg('上传完毕', {icon: 1});
                }
            }
        });


        // token 前后端分离再用
       // var token = JSON.parse(localStorage.getItem("token"));


        //监听提交
        form.on('submit(formDemo)', function (data) {
            //layer.msg(JSON.stringify(data.field));
            $.ajax({
                "url":"http://localhost:8080/student/updateStudent",
               // "headers":{"token":token},
                "data": data.field,
                // result 参数 表式后台响应的数据
                "success":function(result){
                    var str =  JSON.stringify(result);
                    console.log("----------------"+str);
                    if(result.code == 200){

                        // 关闭 弹出层
                        var iframeIndex = parent.layer.getFrameIndex(window.name);
                        parent.layer.close(iframeIndex);

                    }else{
                        layer.msg(result.msg);
                    }
                },
                "dataType":"json"
            });

            return false;
        });
    });
</script>


</body>

</html>